Machine readable codes have been used for a number of years to manage inventories, such as automobile parts in a factory, track products, such as mail pieces, and for purchasing items at a store. Most people are familiar with the straight lines that form the universal product codes (UPC) barcodes on products that we purchase. Scanning the UPC with a scanner at a point of sale device (i.e., cash register), identifies the product and provides the price of the product for collection by the cashier operating the point of sale device.
The UPC barcode is an example of a one dimensional (1D) barcode. It has information in the horizontal direction. In recent years, two dimensional codes, which are codes that store information in both the horizontal and vertical directions, have become prevalent. Two dimensional (2D) machine readable codes, such as data matrix codes, maxicodes, QR codes and the like, are capable of storing more information in a smaller space than a 1D code.
For example, a 2D dimensional code, such as a maxicode, is capable of storing up to 93 characters, while a QR code is capable of storing 7,089 numerical values (i.e., 0-9) or 1,817 Kanji/Kana characters. Therefore, of the 2D codes, the QR code is one of the predominant 2D codes, if not the predominant 2D code currently being used.
QR codes, for example, are among the most widespread forms of engaging mobile users from printed materials. These particular 2D codes provide a reliable and convenient way to introduce textual information into mobile devices without the difficulty of typing complicated chains of characters. The QR codes are used to access websites, download personal card information, post information to social networks, initiate phone calls, reproduce videos or open text documents or any other form of content capable of being encoded as a string of characters within the limitations of the QR Code Standard, which is the AIM International (Automatic Identification Manufacturers International) standard (ISS-QR Code). Additionally, QR codes also provide an effective way to measure the impact and reach of publicity materials since each code scan can be used by a computer application or server associated with the QR code to provide information about the location, date and time in which a particular user expressed interest in the products. These applications are clearly outside of the original functional purpose for which QR codes were designed, and considerations such as visual appeal and ease of integration into advertising play an important role in addition to robustness and speed of decoding.
However, the nature of the 2D codes, such as dark/light areas in square, circular or rectangular form with large alignment and/or finder patterns, makes them aesthetically unappealing. Therefore, in order to increase the usage of the 2D codes by making them more appealing to brand name producers and branding professionals, attempts have been made to embed the 2D codes into graphic images (or vice versa) in attempt to make the 2D code more aesthetically pleasing.
Previous attempts have failed to provide much improvement to the aesthetics of the 2D code. For example, FIG. 1 shows the results of prior attempts at improving the appearance of 2D codes, in particular, the QR code embedded image. The simplest method of embedding images into QR codes is by replacing some area containing data in the QR code with pixels from the graphic image. In order to retain a high likelihood of decodability, the ratio between image and code area should be approximately proportional to the correction capacity (e.g., built in error correction bits) of the 2D code. This simple approach is common for logos or images, which are positioned at the center of the QR code as depicted in FIG. 1, code (a). The approach in FIG. 1, code (b) takes advantage of linear properties of Reed-Solomon codes to manipulate the data containing areas of the QR code such that the resulting code resembles the original image. Generated codes using this method do not have occluded QR data areas; however, their coarseness has an impact on the capability of the technique to trade visual distortion for decoding robustness as seen in FIG. 1, code (b). The approach in FIG. 1, code (c) is based on a method where the luminance of the image is changed according to the code structure. The visual quality is improved by altering the luminance at the center of each QR module according to the value of the QR code while the remaining pixels are less altered. This approach provides an adequate tradeoff between robustness and distortion, but the coarse structure of QR bits creates undesirable artifacts as seen in FIG. 1, code (c).
Hence a need exists for improving the aesthetics (i.e., reduced artifacts and distribution of image throughout the 2D code) of a graphic image in which a 2D code is embedded, while still maintaining the detectability and decodability of the embedded 2D code.